﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Admin.Application.Service.Privilege.Dtos;
using Windows.Admin.Domain;
using Windows.SeedWord;

namespace Windows.Admin.Application
{
    public interface IPrivilegeService
    {
        /// <summary>
        /// 获取当前用户的许可证列表
        /// </summary>
        /// <returns></returns>
        Task<List<string>> GetCurrentUserLicenses();
        /// <summary>
        /// 获取当前用户的Privileges
        /// </summary>
        /// <returns></returns>
        Task<List<Privilege>> GetCurrentUserPrivileges();
        /// <summary>
        /// 获取权限
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<List<PrivilegeResponse>> GetPrivileges(PrivilegeRequest request);
        /// <summary>
        /// 设置权限
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task SetPrivilege(PrivilegeSetRequest request);
    }
}
